package com.bsoft.gol.hcs.satisfaction.entity;

import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;

@Entity
@Table(name = "patient_satisfaction_survey_answer")
public class PatientSatisfactionSurveyAnswer {
	private String surveyAnswerId;
	private String patientSurveyId;
	private String patientSurveyName;
	private String questionnaireId;
	private String questionnaireName;
	private String titleId;
	private String titleName;
	private String answerId;
	private String answerName;
	private String creatorId;
	private Date gmtCreate;
	private String modifyId;
	private Date gmtModified;
	private String processingDoctorId;
	private String processingDoctorName;
	private String processingOpinions;
	private Date processingTime;
	private String processingStatus;
	private String notifyFlag;
	private BigDecimal grade;
	private String optionId;
	private String answerAbnormal;

	@Id
	@Column(name = "survey_answer_id")
	public String getSurveyAnswerId() {
		return surveyAnswerId;
	}

	public void setSurveyAnswerId(String surveyAnswerId) {
		this.surveyAnswerId = surveyAnswerId;
	}

	@Basic
	@Column(name = "patient_survey_id")
	public String getPatientSurveyId() {
		return patientSurveyId;
	}

	public void setPatientSurveyId(String patientSurveyId) {
		this.patientSurveyId = patientSurveyId;
	}

	@Basic
	@Column(name = "patient_survey_name")
	public String getPatientSurveyName() {
		return patientSurveyName;
	}

	public void setPatientSurveyName(String patientSurveyName) {
		this.patientSurveyName = patientSurveyName;
	}

	@Basic
	@Column(name = "questionnaire_id")
	public String getQuestionnaireId() {
		return questionnaireId;
	}

	public void setQuestionnaireId(String questionnaireId) {
		this.questionnaireId = questionnaireId;
	}

	@Basic
	@Column(name = "questionnaire_name")
	public String getQuestionnaireName() {
		return questionnaireName;
	}

	public void setQuestionnaireName(String questionnaireName) {
		this.questionnaireName = questionnaireName;
	}

	@Basic
	@Column(name = "title_id")
	public String getTitleId() {
		return titleId;
	}

	public void setTitleId(String titleId) {
		this.titleId = titleId;
	}

	@Basic
	@Column(name = "title_name")
	public String getTitleName() {
		return titleName;
	}

	public void setTitleName(String titleName) {
		this.titleName = titleName;
	}

	@Basic
	@Column(name = "answer_id")
	public String getAnswerId() {
		return answerId;
	}

	public void setAnswerId(String answerId) {
		this.answerId = answerId;
	}

	@Basic
	@Column(name = "answer_name")
	public String getAnswerName() {
		return answerName;
	}

	public void setAnswerName(String answerName) {
		this.answerName = answerName;
	}

	@Basic
	@Column(name = "creator_id")
	public String getCreatorId() {
		return creatorId;
	}

	public void setCreatorId(String creatorId) {
		this.creatorId = creatorId;
	}

	@Basic
	@Column(name = "gmt_create")
	public Date getGmtCreate() {
		return gmtCreate;
	}

	public void setGmtCreate(Date gmtCreate) {
		this.gmtCreate = gmtCreate;
	}

	@Basic
	@Column(name = "modify_id")
	public String getModifyId() {
		return modifyId;
	}

	public void setModifyId(String modifyId) {
		this.modifyId = modifyId;
	}

	@Basic
	@Column(name = "gmt_modified")
	public Date getGmtModified() {
		return gmtModified;
	}

	public void setGmtModified(Date gmtModified) {
		this.gmtModified = gmtModified;
	}

	@Basic
	@Column(name = "processing_doctor_id")
	public String getProcessingDoctorId() {
		return processingDoctorId;
	}

	public void setProcessingDoctorId(String processingDoctorId) {
		this.processingDoctorId = processingDoctorId;
	}

	@Basic
	@Column(name = "processing_doctor_name")
	public String getProcessingDoctorName() {
		return processingDoctorName;
	}

	public void setProcessingDoctorName(String processingDoctorName) {
		this.processingDoctorName = processingDoctorName;
	}

	@Basic
	@Column(name = "processing_opinions")
	public String getProcessingOpinions() {
		return processingOpinions;
	}

	public void setProcessingOpinions(String processingOpinions) {
		this.processingOpinions = processingOpinions;
	}

	@Basic
	@Column(name = "processing_time")
	public Date getProcessingTime() {
		return processingTime;
	}

	public void setProcessingTime(Date processingTime) {
		this.processingTime = processingTime;
	}

	@Basic
	@Column(name = "processing_status")
	public String getProcessingStatus() {
		return processingStatus;
	}

	public void setProcessingStatus(String processingStatus) {
		this.processingStatus = processingStatus;
	}

	@Basic
	@Column(name = "notify_flag")
	public String getNotifyFlag() {
		return notifyFlag;
	}

	public void setNotifyFlag(String notifyFlag) {
		this.notifyFlag = notifyFlag;
	}

	@Basic
	@Column(name = "grade")
	public BigDecimal getGrade() {
		return grade;
	}

	public void setGrade(BigDecimal grade) {
		this.grade = grade;
	}

	@Basic
	@Column(name = "option_id")
	public String getOptionId() {
		return optionId;
	}

	public void setOptionId(String optionId) {
		this.optionId = optionId;
	}

	@Basic
	@Column(name = "answer_abnormal")
	public String getAnswerAbnormal() {
		return answerAbnormal;
	}

	public void setAnswerAbnormal(String answerAbnormal) {
		this.answerAbnormal = answerAbnormal;
	}

	@Override
	public boolean equals(Object o) {
		if (this == o) return true;
		if (!(o instanceof PatientSatisfactionSurveyAnswer)) return false;

		PatientSatisfactionSurveyAnswer that = (PatientSatisfactionSurveyAnswer) o;

		if (surveyAnswerId != null ? !surveyAnswerId.equals(that.surveyAnswerId) : that.surveyAnswerId != null)
			return false;
		if (patientSurveyId != null ? !patientSurveyId.equals(that.patientSurveyId) : that.patientSurveyId != null)
			return false;
		if (patientSurveyName != null ? !patientSurveyName.equals(that.patientSurveyName) : that.patientSurveyName != null)
			return false;
		if (questionnaireId != null ? !questionnaireId.equals(that.questionnaireId) : that.questionnaireId != null)
			return false;
		if (questionnaireName != null ? !questionnaireName.equals(that.questionnaireName) : that.questionnaireName != null)
			return false;
		if (titleId != null ? !titleId.equals(that.titleId) : that.titleId != null) return false;
		if (titleName != null ? !titleName.equals(that.titleName) : that.titleName != null) return false;
		if (answerId != null ? !answerId.equals(that.answerId) : that.answerId != null) return false;
		if (answerName != null ? !answerName.equals(that.answerName) : that.answerName != null) return false;
		if (creatorId != null ? !creatorId.equals(that.creatorId) : that.creatorId != null) return false;
		if (gmtCreate != null ? !gmtCreate.equals(that.gmtCreate) : that.gmtCreate != null) return false;
		if (modifyId != null ? !modifyId.equals(that.modifyId) : that.modifyId != null) return false;
		if (gmtModified != null ? !gmtModified.equals(that.gmtModified) : that.gmtModified != null) return false;
		if (processingDoctorId != null ? !processingDoctorId.equals(that.processingDoctorId) : that.processingDoctorId != null)
			return false;
		if (processingDoctorName != null ? !processingDoctorName.equals(that.processingDoctorName) : that.processingDoctorName != null)
			return false;
		if (processingOpinions != null ? !processingOpinions.equals(that.processingOpinions) : that.processingOpinions != null)
			return false;
		if (processingTime != null ? !processingTime.equals(that.processingTime) : that.processingTime != null)
			return false;
		if (processingStatus != null ? !processingStatus.equals(that.processingStatus) : that.processingStatus != null)
			return false;
		if (notifyFlag != null ? !notifyFlag.equals(that.notifyFlag) : that.notifyFlag != null) return false;
		if (grade != null ? !grade.equals(that.grade) : that.grade != null) return false;
		if (optionId != null ? !optionId.equals(that.optionId) : that.optionId != null) return false;
		return answerAbnormal != null ? answerAbnormal.equals(that.answerAbnormal) : that.answerAbnormal == null;
	}

	@Override
	public int hashCode() {
		int result = surveyAnswerId != null ? surveyAnswerId.hashCode() : 0;
		result = 31 * result + (patientSurveyId != null ? patientSurveyId.hashCode() : 0);
		result = 31 * result + (patientSurveyName != null ? patientSurveyName.hashCode() : 0);
		result = 31 * result + (questionnaireId != null ? questionnaireId.hashCode() : 0);
		result = 31 * result + (questionnaireName != null ? questionnaireName.hashCode() : 0);
		result = 31 * result + (titleId != null ? titleId.hashCode() : 0);
		result = 31 * result + (titleName != null ? titleName.hashCode() : 0);
		result = 31 * result + (answerId != null ? answerId.hashCode() : 0);
		result = 31 * result + (answerName != null ? answerName.hashCode() : 0);
		result = 31 * result + (creatorId != null ? creatorId.hashCode() : 0);
		result = 31 * result + (gmtCreate != null ? gmtCreate.hashCode() : 0);
		result = 31 * result + (modifyId != null ? modifyId.hashCode() : 0);
		result = 31 * result + (gmtModified != null ? gmtModified.hashCode() : 0);
		result = 31 * result + (processingDoctorId != null ? processingDoctorId.hashCode() : 0);
		result = 31 * result + (processingDoctorName != null ? processingDoctorName.hashCode() : 0);
		result = 31 * result + (processingOpinions != null ? processingOpinions.hashCode() : 0);
		result = 31 * result + (processingTime != null ? processingTime.hashCode() : 0);
		result = 31 * result + (processingStatus != null ? processingStatus.hashCode() : 0);
		result = 31 * result + (notifyFlag != null ? notifyFlag.hashCode() : 0);
		result = 31 * result + (grade != null ? grade.hashCode() : 0);
		result = 31 * result + (optionId != null ? optionId.hashCode() : 0);
		result = 31 * result + (answerAbnormal != null ? answerAbnormal.hashCode() : 0);
		return result;
	}
}
